<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <title>Algoritmi genetici</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
  <link rel="STYLESHEET" href="../../css/style.css" type="text/css">
</head>
<body><div align="center"><table summary="Banner" class="main" cellspacing=0 cellpadding=0>
 <tr class="hat" valign="center">
  <td class="hat" colspan=3>
   <!-- SiteSearch Google -->
<form method="get" action="http://www.google.it/custom" target="google_window">
<input type="radio" name="sitesearch" value="" checked id="ss0"></input>
<label for="ss0" title="Ricerca nel Web">Web</label>
<input type="radio" name="sitesearch" value="darkmoon.altervista.org" id="ss1"></input>
<label for="ss1" title="Cerca darkmoon.altervista.org">darkmoon</label>
<input type="hidden" name="client" value="pub-0988154404168132"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#224466;VLC:663399;AH:center;BGC:FFFFFF;LBGC:224466;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input>
<input type="hidden" name="hl" value="it"></input>
<input type="hidden" name="domains" value="darkmoon.altervista.org"></input>
<label for="sbi" style="display: none">Inserisci i termini di ricerca</label>
<input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input>
<label for="sbb" style="display: none">Invia modulo di ricerca</label>
<input type="submit" name="sa" value="Google" id="sbb"></input>
</form>
<!-- SiteSearch Google -->

  </td>
 </tr>
 <tr class="slimbanner" >
  <td class="slimbanner" align="center" colspan=3>
   
<script type="text/javascript"><!--
google_ad_client = "pub-0988154404168132";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al";
google_color_bg = "000000";
google_color_link = "FFFFFF";
google_color_text = "FFFFFF";
google_ad_channel = "";
google_color_border = "000000";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </td>
 </tr>
 <tr class="mid" >
  <td class="adsensetable" align="center" valign="top">
   <table summary="adsside" class="ads table" cellspacing=0 cellpadding=0 align="center">
 <tr class="translation" >
  <td class="translation" >
   <a href="../../en/science/ga.html" class="translation" ><img src="../../img/uk.png" height="15" alt="English version"><br>English version</a>
  </td>
 </tr>
 <tr class="referral" >
  <td class="referral" >
   <script type="text/javascript"><!--
google_ad_client = "pub-0988154404168132";
google_ad_width = 120;
google_ad_height = 60;
google_ad_format = "120x60_as";
google_cpa_choice = "CAEQABAAEAAQABoI_bmZ7iNYCIkow8b3cyic0Op-KNG593Mo6LK6iwE";
//-->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </td>
 </tr>
 <tr class="skyscraper" >
  <td class="skyscraper" >
   <script type="text/javascript"><!--
google_ad_client = "pub-0988154404168132";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "336699";
google_color_text = "000000";
google_color_url = "88FF88";
google_ui_features = "rc:0";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

  </td>
 </tr>
 </table>

  </td>
  <td class="bodytable" align="center" valign="top" width=440>
   
<h1>Algoritmi genetici</h1>
<h3>Ottimizzazione di lenti di Laue</h3>
<p>
Sto studiando e realizzando con successo dei programmi che 
utilizzano Algoritmi Genetici per ottimizzare l'area efficacie di 
lenti di Laue.<br>
Grazie all'algoritmo genetico e' possibile ottenere una 
distribuzione dei cristalli sulla lente che dia un risultato quasi ottimale, 
un problema altrimenti troppo difficile da risolvere.<br>
Come vi accorgerete leggendo il seguito, il lessico utilizzato
e' quasi totalmente mutuato dalla biologia, come tipico di questa tecnica oramai 
consolidata!
</p>

<p>
L'idea alla base di questa tecnica e' la seguente: la distribuzione
dei cristalli sulla lente si puo' codificare in una struttura di dati
esattamente come in natura il DNA caratterizza un essere vivente.
Ogni lente, con la sua peculiare distribuzione di cristalli, e' 
caratterizzata da uno specifico genoma.<br>
Ovviamente a diverse disposizioni di cristalli (diversi genotipi)
corrispondono differenti caratteristiche e proprieta' fisiche.<br>
In particolare nopi siamo interessati al valore di area efficacie 
in funzione dell'energia, parametro che vogliamo ottimizzare e 
che fara' la differenza nella sopravvivenza e nelle possibilita'
di una lente di tramandare il proprio genotipo.<br>
Consideriamo esclusivamente lenti composte di anelli concentrici,
e ad ogni anello associamo una sorta di gene composto dalle seguenti 
informazioni:
</p>
<ul>
<li>Numero di cristalli di Cu(111);</li>
<li>Numero di cristalli di Cu(200);</li>
<li>Numero di cristalli di Ge(111);</li>
<li>Numero di spazi vuoti.</li>
</ul>

<p>
Il genotipo e' quindi la sequenza di tutti i geni specifici 
degli anelli che compongono la lente.<br>
Noto il genotipo e' possibile calcolare il fenotipo (l'area efficacie)
e valutare la sua bonta' tramite una funzione che viene chiamata 
<strong>fitness function</strong>.<br>
Quando il software gira, crea inizialmente un villaggio di lenti 
con genotipi casuali o forniti dall'utente e ad ogni iterazione 
decide in base al valore della fitness function quali siano 
gli elementi che sopravvivono.
Gli altri vengono gentilmente soppressi e rimpiazzati da tre tipi
di individui
</p>
<ul>
<li>gli stranieri;</li>
<li>i neonati;</li>
<li>i mutanti;</li>
</ul>

<p>
I 3 tipi di individui hanno un'efficacia diversa nel migliorare la qualita' del villaggio a seconda che si sia all'inizio a meta' o alla fine dell'evoluzione: piu' ci si avvicina all'ottimo piu' le mutazioni e' bene siano limitate.<br>
Gli stranieri rappresentano nuovi elementi con un genotipo totalmente casuale. 
I neonati sono figli di due elementi sopravvissuti e il loro genotipo e' il crossover di quello dei genitori. 
I mutanti sono elementi ottenuti clonando un elemento di successo e mutando uno (o pochi) geni.<br>
La scelta piu' conveniente per le ottimizzazioni fini e' quella di cambiare un solo cristallo (o spazio vuoto) alla volta.
</p>

<p>
I migliori elementi di tre diversi villaggi sono mostrati nella seguente figura.
</p>
<center>
<img border="0" src="../../img/threevillages.png">
</center>
<p>
I tre elementi di successo sono ottenuti soddisfando richieste diverse:
<ol type="A">
<li>Elevato valore di area efficacie;</li>
<li>Elevata regolarita' della curva;</li>
<li>Un ragionevole compromesso tra i due;</li>
</ol>
</p>

<p>
Ovviamente quello proposto e' un semplice esempio!<br>
Il numero di generazione necessario per ottenre un risultato 
soddisfacente dipende dalle scelte dell'utente (numero di abitanti del villaggio,
numero relativo di stranieri, figli e mutanti prodotti e implementazione della funzione che genera il crossover.)
Alla fine diventa pure divertente giocare con questi esserini! :)
</p>

  </td>
  <td class="sidetable" valign="top">
   <table summary="navside" class="side" width=200 cellspacing=0 cellpadding=0 align="center">
 <tr class="side" >
  <td class="sidesection" >
   Site Navigator
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/index.html" class="side" >Home</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/science/index.html" class="side" >Scienza</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/science/lauelens.html" class="side" >&nbsp;&nbsp;&nbsp;&nbsp;Lenti di Laue!</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="sidethispage" >
   &nbsp;&nbsp;&nbsp;&nbsp;Algoritmi genetici!
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/science/publications.html" class="side" >&nbsp;&nbsp;&nbsp;&nbsp;Pubblicazioni</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/code/index.html" class="side" >Software</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/freetime/index.html" class="side" >Tempo Libero</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/gallery/index.html" class="side" >Galleria Fotografica</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/info/index.html" class="side" >Links &amp; Info</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   &nbsp;
  </td>
 </tr>
 <tr class="side" >
  <td class="sidesection" >
   Links
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="http://alepisa.blogspot.com" class="side" target="_blank">Blog</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="http://polcasaglia.googlepages.com" class="side" target="_blank">Polisposportiva&nbsp;Casaglia</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="http://www.fe.infn.it/astro" class="side" target="_blank">Unife</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   &nbsp;
  </td>
 </tr>
 <tr class="side" >
  <td class="sidesection" >
   Misc
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/credits.html" class="side" >Ringraziamenti</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../../it/search.html" class="side" >Cerca</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="../..//old/index.html" class="side" target="_blank">Il vecchio Darkmoon ;(</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   &nbsp;
  </td>
 </tr>
 <tr class="side" >
  <td class="sidesection" >
   Contatti
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <a href="mailto://alessandro...pisa@@gmail...com" class="side" >Darkmoon mail</a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <!--
Skype
'My
status'
button
http://www.skype.com/go/skypebuttons
-->
<script
type="text/javascript"
src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>
<a
href="skype:alepisa?call"><img
src="http://mystatus.skype.com/smallclassic/alepisa"
style="border:
none;"
width="114"
height="20"
alt="My
status"
/></a>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   &nbsp;
  </td>
 </tr>
 <tr class="side" >
  <td class="sidesection" >
   Last update
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <i
class="lastupdate">page:
23
Oct
2007</i>
  </td>
 </tr>
 <tr class="side" >
  <td class="side" >
   <i
class="lastupdate">site:
14
Jan
2008</i>
  </td>
 </tr>
 </table>

  </td>
 </tr>
 </table>
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2587939-6";
urchinTracker();
</script>
</body>
</html>
